403Webshell
Server IP : 121.121.20.254  /  Your IP : 216.73.216.202
Web Server : Microsoft-IIS/10.0
System : Windows NT WEB-SERVER 10.0 build 20348 (Windows Server 2022) AMD64
User : IUSR ( 0)
PHP Version : 8.3.28
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/Python313/Lib/test/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/Python313/Lib/test/__pycache__/test_queue.cpython-313.opt-2.pyc
�

��iZ�����SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKJrJ	r	 SSKJ
r
 SSKJr \R"SS9 \
R"SS/S	9r\
R"SS/S
9r\R "\S5rSrS
r"SS\R(5r"SS5r"SS\5r"SS\5r"SS\\R25r\"SS\\R255r"SS\5r"SS\\R25r\"SS\\R255r"S S!\5r"S"S#\\R25r \"S$S%\\R255r!"S&S'\"5r#"S(S)\5r$"S*S+\$\R25r%\"S,S-\$\R255r&"S.S/5r'"S0S1\'\R25r(\"S2S3\'\R255r)\*S4:Xa\RV"5 gg)5�N)�
gc_collect�
bigmemtest)�
import_helper)�threading_helperT)�module�queue�_queue)�blocked)�freshzNo _queue module found�c�h�URS:�=(a UR5UR:H$�Nr)�maxsize�qsize��qs �$C:\Python313\\Lib\test\test_queue.py�qfullrs$���9�9�q�=�3�Q�W�W�Y�!�)�)�3�3�c� �\rSrSrSrSrSrg)�_TriggerThread�c��XlX l[R"5Ul[R
R
U5 g�N)�fn�args�	threading�Event�startedEvent�Thread�__init__)�selfrrs   rr!�_TriggerThread.__init__s/�����	�%�O�O�-������!�!�$�'rc��[R"S5 URR5 UR"UR
6 g)N皙�����?)�time�sleepr�setrr�r"s r�run�_TriggerThread.run"s1��	
�
�
�3��������������r)rrrN)�__name__�
__module__�__qualname__�__firstlineno__r!r*�__static_attributes__�rrrrs��(�rrc� �\rSrSrSrSrSrg)�BlockingTestMixin�;c�.�[X45nUR5 U"U6UlURR	5(dURSU-5 UR[R"U5 $![R"U5 f=f)Nz*blocking function %r appeared not to block)r�start�resultr�is_set�failr�join_thread)r"�
block_func�
block_args�trigger_func�trigger_args�threads      r�do_blocking_test�"BlockingTestMixin.do_blocking_test=sw����;������	1�$�j�1�D�K��&�&�-�-�/�/��	�	�F�$�%�&��;�;��(�(��0���(�(��0�s�AA<�<Bc��[X45nUR5 U"U6 URSU-5 [R"U5 UR
R
5(dURS5 gg!Ua ef=f![R"U5 UR
R
5(dURS5 ff=f)Nzexpected exception of kind %rz(trigger thread ended but event never set)rr6r9rr:rr8)r"r;r<r=r>�expected_exception_classr?s       r�do_exceptional_blocking_test�.BlockingTestMixin.do_exceptional_blocking_testKs�����;������	F�
;��J�'��	�	�9�!9�:�;�
�(�(��0��&�&�-�-�/�/��	�	�D�E�0��,�
��
��
�(�(��0��&�&�-�-�/�/��	�	�D�E�0�s�B�B�B�B�A	C)r7N)r,r-r.r/r@rDr0r1rrr3r3;s
��1�Frr3c�.�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
SrS
rSrSrSrSrSrSrSrSrSrSrSrSrS1SjrSrSrS1SjrSr S1Sjr!S r"S!r#S"r$S#r%S$r&S%r'S&r(S'r)S(r*S)r+S*r,S+r-S,r.S-r/S.r0S/r1g0)2�BaseQueueTestMixin�]c�F�SUl[R"5Ulgr)�cumr�Lock�cumlockr)s r�setUp�BaseQueueTestMixin.setUp^s����� �~�~�'��rc��UR5(a[S5eURUR55 UR	UR55 UR
S5 UR
S5 UR
S5 [/SQ/SQ/SQS9nUR5UR5UR5/nURX2URRS	5 [[S
-
5H4nUR
U5 URUR5S5 M6 UR[U5(+S5 S
[-nS[-nUR
U5 UR[U5S5 UR	UR55 URUR55 UR
USS9 URS5 UR
USS9 URS5 UR%URU4URS5 UR%URUSS4URS5 [[5HnUR5 M URUR5(+S5 URSS9 URS5 URSS9 URS5 UR%URSURS5 UR%URSURS5 g!UR R"a GNqf=f!UR R"a GNpf=f!UR R&a N�f=f!UR R&a N�f=f)N�&Call this function with an empty queue�o�M��)rQrRrS)rSrRrQ)rQrSrR)�Queue�	LifoQueue�
PriorityQueuez&Didn't seem to queue the correct data!��Queue should not be empty�Queue should not be full���Queue should be fullr��blockz(Didn't appear to block with a full queueg{�G�z�?��timeoutz+Didn't appear to time-out with a full queuer1T�
�Queue should be emptyz*Didn't appear to block with an empty queuez-Didn't appear to time-out with an empty queue��empty)Tra)r�RuntimeError�
assertTruerd�assertFalse�full�put�dict�get�assertEqual�	__class__r,�range�
QUEUE_SIZErr9r�Fullr@�Empty)r"r�target_order�actual_order�i�lastrhs       r�basic_queue_test�#BaseQueueTestMixin.basic_queue_testbs����7�7�9�9��G�H�H�������	�"��������"�	���c�
�	���c�
�	���c�
��O�(7�,;�=����������!�%�%�'�2������A�K�K�4H�4H�'I�A�	C��z�!�|�$�A�
�E�E�!�H��O�O�A�G�G�I�'B�C�%�	
���E�!�H��&@�A��:�~���z�!��	���d������a��"8�9��������#��������!�	�
�E�E�$�a�E� ��I�I�@�A�	�
�E�E�$��E�%��I�I�C�D�	
���a�e�e�d�W�a�e�e�R�8����a�e�e�d�D�"�%5�q�u�u�b�A��z�"�A�
�E�E�G�#����A�G�G�I�
�'>�?�	�
�E�E��E�N��I�I�B�C�	�
�E�E�$�E���I�I�E�F�	
���a�e�e�R����
�;����a�e�e�Z����
�C��5�z�z���	��	��
�z�z���	��	���z�z���	��	��
�z�z���	��	�sH�"!M�!M8� N�& N9�M5�4M5�8N�N�N6�5N6�9O�Oc���UR5nUS:aUR5 gUR U=RU-
slSSS5 UR5 Mc!,(df   N =fr)rk�	task_donerLrJ)r"r�xs   r�worker�BaseQueueTestMixin.worker�sR�������A��1�u����
��������A�
���
�K�K�M��
��s�A%�%
A3c���SUl/nSHDn[R"URU4S9nUR	5 URU5 MF [
S5HnURU5 M UR5 URUR[[
S55S5 SHnURS5 M UR5 UHnUR5 M g)Nr)rrW��targetr�dz0q.join() did not block until all tasks were done���)rJrr r{r6�appendrnri�joinrl�sum)r"r�threadsrtr?s     r�queue_join_test�"BaseQueueTestMixin.queue_join_test�s���������A��%�%�T�[�[��t�D�F��L�L�N��N�N�6�"���s��A�
�E�E�!�H��	����������3�u�S�z�?�K�	M��A�
�E�E�"�I��	�����F��K�K�M�rc��UR5nUR5 URS5 g![a gf=f�Nz(Did not detect task count going negative)�	type2testryr9�
ValueError�r"rs  r�test_queue_task_done�'BaseQueueTestMixin.test_queue_task_done�s@���N�N���	B�
�K�K�M�
�I�I�@�A���	��	�s�4�
A�Ac���UR5nURU5 URU5 UR5 URS5 g![a gf=fr�)r�r�ryr9r�r�s  r�test_queue_join�"BaseQueueTestMixin.test_queue_join�s^��
�N�N������Q�����Q��	B�
�K�K�M�
�I�I�@�A���	��	�s�A�
A#�"A#c�r�UR[5nURU5 URU5 gr)r�rorvr�s  r�
test_basic�BaseQueueTestMixin.test_basic�s.��
�N�N�:�&�����a� ����a� rc�*�UR[5nUR[5 UR	SSS9 SSS5 UR[5 URSSS9 SSS5 g!,(df   N==f!,(df   g=f�NrWr�r_)r�ro�assertRaisesr�rirkr�s  r�&test_negative_timeout_raises_exception�9BaseQueueTestMixin.test_negative_timeout_raises_exception�si���N�N�:�&��
�
�
�z�
*�
�E�E�!�R�E� �+�
�
�
�z�
*�
�E�E�!�R�E� �+�
*�+�
*��
*�
*�s�A3�B�3
B�
Bc��UR[5n[[5HnURS5 M UR	UR
R5 URS5 SSS5 [[5HnUR5 M UR	UR
R5 UR5 SSS5 g!,(df   Ns=f!,(df   g=f)NrW)	r�rorn�
put_nowaitr�rrp�
get_nowaitrq�r"rrts   r�test_nowait�BaseQueueTestMixin.test_nowait�s����N�N�:�&���z�"�A�
�L�L��O�#�
�
�
�t�z�z���
/�
�L�L��O�0��z�"�A�
�L�L�N�#�
�
�
�t�z�z�/�/�
0�
�L�L�N�1�
0�0�
/��
1�
0�s�"C!�C2�!
C/�2
Dc��URS5nURS5 URS5 URS5 URURR5 URS5 SSS5 UR
UR5S5 SUlURURR5 URS5 SSS5 g!,(df   Nu=f!,(df   g=f)N�rWrZ�)	r�rir�rrpr�rlrrr�s  r�test_shrinking_queue�'BaseQueueTestMixin.test_shrinking_queue�s����N�N�1���	���a��	���a��	���a��
�
�
�t�z�z���
/�
�L�L��O�0��������A�&���	�
�
�
�t�z�z���
/�
�L�L��O�0�
/�	0�
/��0�
/�s�*C+�C<�+
C9�<
D
c��UR5nUR5 URURR5 URS5 SSS5 URURR5 UR
5 SSS5 g!,(df   NM=f!,(df   g=f�N�data)r��shutdownr�r�ShutDownrirkr�s  r�test_shutdown_empty�&BaseQueueTestMixin.test_shutdown_empty�sx���N�N���	�
�
��
�
�
�t�z�z�2�2�
3�
�E�E�&�M�4�
�
�
�t�z�z�2�2�
3�
�E�E�G�4�
3�4�
3��
3�
3�s�B�B0�
B-�0
B>c�$�UR5nURS5 UR5 UR5 UR	UR
R5 UR5 SSS5 g!,(df   g=fr�)r�rir�rkr�rr�r�s  r�test_shutdown_nonempty�)BaseQueueTestMixin.test_shutdown_nonempty�sX���N�N���	���f�
�	�
�
��	����
�
�
�t�z�z�2�2�
3�
�E�E�G�4�
3�
3�s�'B�
Bc��UR5nURS5 URSS9 URURR
5 UR
5 SSS5 g!,(df   g=f)Nr�T��	immediate)r�rir�r�rr�rkr�s  r�test_shutdown_immediate�*BaseQueueTestMixin.test_shutdown_immediatesT���N�N���	���f�
�	�
�
�T�
�"�
�
�
�t�z�z�2�2�
3�
�E�E�G�4�
3�
3�s�A0�0
A>c�"�UR5nURUR5 UR5 UR	UR5 URSS9 UR	UR5 URSS9 g)NTr�F)r�rg�is_shutdownr�rfr�s  r�!test_shutdown_allowed_transitions�4BaseQueueTestMixin.test_shutdown_allowed_transitionsse���N�N���������'�	�
�
������
�
�&�	�
�
�T�
�"�����
�
�&�	�
�
�U�
�#rc�~�URS5nURS5 URS5 URU5 UR	UR
R5 URS5 SSS5 UR	UR
R5 URS5 SSS5 U(a�UR	UR
R5 UR5 SSS5 UR	UR
R5 UR5 SSS5 UR	[5 UR5 SSS5 UR5 gURUR5S5 UR5 URUR5S5 UR5 UR5 UR	UR
R5 UR5 SSS5 UR	UR
R5 UR5 SSS5 UR	UR
R5 URSS5 SSS5 g!,(df   GN==f!,(df   GN=f!,(df   GN�=f!,(df   GN�=f!,(df   GN�=f!,(df   N�=f!,(df   N�=f!,(df   g=f)	NrZ�L�O�E�W�LOTg�?)
r�rir�r�r�rr�rkr�r�ryr��assertIn)r"r�rs   r�#_shutdown_all_methods_in_one_thread�6BaseQueueTestMixin._shutdown_all_methods_in_one_threads����N�N�1���	���c�
�	���S��	�
�
�9��
�
�
�t�z�z�2�2�
3�
�E�E�#�J�4�
�
�
�t�z�z�2�2�
3�
�L�L���4���"�"�4�:�:�#6�#6�7�����8��"�"�4�:�:�#6�#6�7�����8��"�"�:�.����
�/�
�F�F�H��M�M�!�%�%�'�4�(�
�K�K�M��M�M�!�%�%�'�4�(�
�K�K�M�
�F�F�H��"�"�4�:�:�#6�#6�7�����8��"�"�4�:�:�#6�#6�7�����8��"�"�4�:�:�#6�#6�7����d�C� �8�7�14�
3��
3�
3��8�7��7�7��.�.��8�7��7�7��7�7�s`�*J2�)K�/K�-K(�K:�L�L�L.�2
K�
K�
K%�(
K7�:
L	�
L�
L+�.
L<c�$�URS5$�NF�r�r)s r�'test_shutdown_all_methods_in_one_thread�:BaseQueueTestMixin.test_shutdown_all_methods_in_one_thread:s���7�7��>�>rc�$�URS5$�NTr�r)s r�1test_shutdown_immediate_all_methods_in_one_thread�DBaseQueueTestMixin.test_shutdown_immediate_all_methods_in_one_thread=s���7�7��=�=rc��[SUS-5HnURUS45 M UR5 [US-U5HVnURUS45 Xt:XdMUR
5(aM5UR5 URS5 MX g!URRa URS5  gf=f)NrrZ�LOYD�YDLOFT)rnri�waitrr�r�r8r()r"r�n�results�i_when_exec_shutdown�event_shutdown�
barrier_startrts        r�_write_msg_thread�$BaseQueueTestMixin._write_msg_thread@s���
�q�.��1�2�A�
�E�E�1�f�+��3�	�����+�Q�.��2�A�
����q�&�k�"��(�%�,�,�.�.�"�&�&�(��N�N�4�(�3���:�:�&�&�
����u�%��
�s�
B$�$+C�Cc�F�URS5 UR5 UR5 URS5 UR5 M$!URRa URS5 gURRa NJf=f�NTF)rkryr�rr�r�rq)r"rr�r�s    r�_read_msg_thread�#BaseQueueTestMixin._read_msg_threadXs���	���d��	���
������
����e�����
����:�:�&�&�
����t�$���:�:�#�#�
��
�s�!A�+B �B �B c��UR5 URU5 URUR5S:H5 gr)r�r�r�r)r"rr��	event_endr�s     r�_shutdown_thread�#BaseQueueTestMixin._shutdown_threadhs.������	�
�
�9�����q�w�w�y�A�~�&rc�D�UR5 UR5 gr)r�r�)r"rr�s   r�_join_thread�BaseQueueTestMixin._join_threadms������	���rc	�6�UR5n/n/n/n/nSnSnSn	Sn
X�-nUS-nXx-n
U(aX�-
n
[R"U
5n[R"5nURXrX�X�U44UR
X�X^44URSX&X�44/nU(aURURX�U445 UHPunnn[U5H:nUR[R"UUS95 USR5 M< MR UHnUR5 M URSU;5 URURS5U5 U(a3UR!US/5 URUR#55 gg)	Nr�r[rZirWr~r�T)r�r�Barrierrr�r�r�r�r�rnr r6r�rfrl�count�assertListEqualrd)r"r�r�ps�res_puts�res_gets�res_shutdown�
write_threads�read_threads�join_threads�nb_msgs�	nb_msgs_w�when_exec_shutdown�npartiesr��ev_exec_shutdown�lprocs�funcr�rrtr?s                      r�%_shutdown_all_methods_in_many_threads�8BaseQueueTestMixin._shutdown_all_methods_in_many_threadsrs���
�N�N���
���������
��������,�	�&�!�^��!�/����$�H�!�)�)�(�3�
�$�?�?�,��
�
#�
#�]�	�,>�,9�5;�
<��
"�
"�L�h�2N�O�
�
"�
"�A��9I�'U�V�����M�M�4�,�,�l�
�<N�O�P�#�M�D�!�T��1�X���	�	�)�*�*�$�T�B�C��2������$��F��K�K�M��	
�����(�)��������-�|�<��� � ���v�6��O�O�A�G�G�I�&�rc�$�URS5$r��r�r)s r�)test_shutdown_all_methods_in_many_threads�<BaseQueueTestMixin.test_shutdown_all_methods_in_many_threads�s���9�9�%�@�@rc�$�URS5$r�r�r)s r�3test_shutdown_immediate_all_methods_in_many_threads�FBaseQueueTestMixin.test_shutdown_immediate_all_methods_in_many_threads�s���9�9�$�?�?rc���UR5 UR5nURU(+5 U(+$!URRa URU5 Us$f=fr)r�rkr�rr�)r"r�gor�r��msgs      r�_get�BaseQueueTestMixin._get�s[��
���	�	��%�%�'�C��N�N�x�<�(��<����z�z�"�"�	��N�N�8�$��O�	�s�,?�-A/�.A/c�(�URXUS5$r�)r�)r"rr�r�s    r�
_get_shutdown� BaseQueueTestMixin._get_shutdown�s���y�y����.�.rc���UR5 UR5nUR5 URS5 U$!URR
a URS5 gf=fr�)r�rkryr�rr�)r"rr�r�r�s     r�_get_task_done�!BaseQueueTestMixin._get_task_done�s]��
���	�	��%�%�'�C�
�K�K�M��N�N�4� ��J���z�z�"�"�	��N�N�5�!��	�s�2A�+A3�2A3c���UR5 URU5 URU(+5 U(+$!URRa URU5 Us$f=fr)r�rir�rr�)r"rr�r�r�r�s      r�_put�BaseQueueTestMixin._put�s[��
���	�	�
�E�E�#�J��N�N�x�<�(��<����z�z�"�"�	��N�N�8�$��O�	�s�-A�-A0�/A0c�(�URXX4S5$r�)r)r"rr�r�r�s     r�
_put_shutdown� BaseQueueTestMixin._put_shutdown�s���y�y���d�3�3rc���UR5 URU(+5 U(+$!URRa URU5 Us$f=fr)r�r�rr�)r"rr�r�s    r�_join�BaseQueueTestMixin._join�sP��	�
�F�F�H��N�N�x�<�(��<����z�z�"�"�	��N�N�8�$��O�	�s�,/�-A�Ac�&�URXS5$r�)r
)r"rr�s   r�_join_shutdown�!BaseQueueTestMixin._join_shutdown�s���z�z�!�d�+�+rc���URS5n/n[R"5nURS5 URS5 U(a!URX$U44URX$U444nO/UR
X$U44UR
X$U44UR
X$U444n/nUH;upxUR
[R"XxS95 USR5 M= URU5 UR5 UHn	U	R5 M U(aURUSS/5 gUR[U5S/S/[U5S-
--5 g)	NrZ�Y�Dr~r�TFrW)r�rrrirr�r�r r6r�r(r�r��sorted�len�
r"r�rr�r��thrdsr�r��params�ts
          r�
_shutdown_get� BaseQueueTestMixin._shutdown_get�sJ���N�N�1�����
�_�_�
��	���c�
�	���c�
���#�#�a�W�%5�6��#�#�a�W�%5�6��E����Q�G�,�-����Q�G�,�-����Q�G�,�-��E���!�L�D��N�N�9�+�+�4�E�F��B�K����"�	
�
�
�9��
�����A�
�F�F�H���� � ��4��,�7�� � ����5�'�T�F�C��J�q�L�<Q�2Q�Rrc�$�URS5$r��rr)s r�test_shutdown_get�$BaseQueueTestMixin.test_shutdown_get�����!�!�%�(�(rc�$�URS5$r�rr)s r�test_shutdown_immediate_get�.BaseQueueTestMixin.test_shutdown_immediate_get�����!�!�$�'�'rc��URS5n/n[R"5nURS5 URS5 URUSXC44URUSXC444n/nUH;upxUR[R"XxS95 USR5 M= UR5 UR5 UHn	U	R5 M URUS/[U5-5 g)	NrZrrr�r�r~r�T)
r�rrrir
r�r r6r�r(r�rlrrs
          r�
_shutdown_put� BaseQueueTestMixin._shutdown_puts����N�N�1�����
�_�_�
��	���c�
�	���c�
��
�
�!�S�"�!6�7�
�
�
�!�S�"�!6�7�
����!�L�D��N�N�9�+�+�4�E�F��B�K����"�	
�
�
��
�����A�
�F�F�H��	
����4�&��U��"3�4rc�$�URS5$r��r'r)s r�test_shutdown_put�$BaseQueueTestMixin.test_shutdown_putr!rc�$�URS5$r�r*r)s r�test_shutdown_immediate_put�.BaseQueueTestMixin.test_shutdown_immediate_putr%rc	���UR5n/nURS5 [R"5nUR	5nUR
X#44UR
X#444n/nUH;up�UR
[R"X�S95 USR5 M= U(dW/n
[U5HFnUR
[R"URX$U
4S95 USR5 MH URU5 UR5 UHnUR5 M URUS/[U5-5 g)Nrr~r�T)r�rirrrr
r�r r6rnrr�r(r�rlr)
r"r�rr�r��nbrr�r�r�resrtrs
             r�_shutdown_join�!BaseQueueTestMixin._shutdown_joins)���N�N�����	���c�
�
�_�_�
��
�W�W�Y���Z�Z�!��&�
�Z�Z�!��&�
����!�L�D��N�N�9�+�+�4�E�F��B�K����"���C��2�Y�����y�/�/�t�7J�7J�RS�Y\�Q]�^�_����!�!�#��	
�
�
�9��
�����A�
�F�F�H��	
����4�&��U��"3�4rc�$�URS5$r��r3r)s r�test_shutdown_immediate_join�/BaseQueueTestMixin.test_shutdown_immediate_join9s���"�"�4�(�(rc�$�URS5$r�r6r)s r�test_shutdown_join�%BaseQueueTestMixin.test_shutdown_join<s���"�"�5�)�)rc�8�URS5n/n[R"5nURS5 URUSXC44UR
X#444n/nUH;upxUR
[R"XxS95 USR5 M= URURS5 URU5 UR5 U(a?URURR5 UR!5 SSS5 O2UR#5n	URU	S5 UR%5 UHn
U
R'5 M URUS/[)U5-5 g!,(df   NG=f)NrZrr�r~r�rWT)r�rrrir
r
r�r r6rl�unfinished_tasksr�r(r�rr�r�rkryr�r)r"r�rr�r�rr�r�rr7rs           r�_shutdown_put_join�%BaseQueueTestMixin._shutdown_put_join?sJ���N�N�1�����
�_�_�
��	���c�
��
�
�!�S�"�!6�7�
�Z�Z�!��&�
����!�L�D��N�N�9�+�+�4�E�F��B�K����"�	
����+�+�Q�/�	�
�
�9��
������"�"�4�:�:�#6�#6�7�����8�7��U�U�W�F����V�S�)�
�K�K�M��A�
�F�F�H��	
����4�&��U��"3�4�8�7�s�F�
Fc�$�URS5$r��r>r)s r� test_shutdown_immediate_put_join�3BaseQueueTestMixin.test_shutdown_immediate_put_join`s���&�&�t�,�,rc�$�URS5$r�rAr)s r�test_shutdown_put_join�)BaseQueueTestMixin.test_shutdown_put_joincs���&�&�u�-�-rc��URS5n/n[R"5nURS5 URS5 UR	UR
UR
55 URXU44URXU44URX44URX444n/nUH;upgUR[R"XgS95 USR5 M= UR5 URS5 UHnUR5 M UR	US/[U5-5 g)NrZrrr~r�FT)r�rrrirlr=rrr
r�r r6r(r�r�r)	r"rr�r�rr�r�rrs	         r� test_shutdown_get_task_done_join�3BaseQueueTestMixin.test_shutdown_get_task_done_joinfs���N�N�1�����
�_�_�
��	���c�
�	���c�
�����+�+�Q�W�W�Y�7��
 �
 �1�'�"2�3�
�
 �
 �1�'�"2�3�
�Z�Z�!��&�
�Z�Z�!��&�	
����!�L�D��N�N�9�+�+�4�E�F��B�K����"�	����	�
�
�5���A�
�F�F�H��	
����4�&��U��"3�4rc�^^�UU4SjnUR5m/m[R"US9nUR5 TR	SS9 URSS9 UR
UR55 UR[T5S5 URTSURR5 g)	Nc�>�TRTR55 g![anTRU5 SnAgSnAff=fr)r�rk�	Exception)�err�s ��rrk�9BaseQueueTestMixin.test_shutdown_pending_get.<locals>.get�s9���
"����q�u�u�w�'���
"����q�!�!��
"�s�#�
A�A�A)rFr�g$@r_rWr)
r�rr r6r�r�rg�is_aliverlr�assertIsInstancerr�)r"rk�
get_threadrr�s   @@r�test_shutdown_pending_get�,BaseQueueTestMixin.test_shutdown_pending_gets����	"�
�N�N������%�%�S�1�
�����	�
�
�U�
�#������%�����,�,�.�/�����W��q�)����g�a�j�$�*�*�*=�*=�>r)rJrLN)F)2r,r-r.r/rMrvr{r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr
r
rrrr#r'r+r.r3r7r:r>rBrErHrRr0r1rrrGrG]s���(�6D�r��$B�B�!�!�
�����$�!�B?�>�)�0� '�
�
.'�`A�@��/�	��4��,� S�D)�(�5�.)�(�5�6)�*�5�B-�.�5�2?rrGc�(^�\rSrSrU4SjrSrU=r$)�	QueueTesti�c�X>�URRUl[TU]5 gr)rrTr��superrM�r"rms �rrM�QueueTest.setUp�s������)�)���
��
�r�r��r,r-r.r/rMr0�
__classcell__�rms@rrUrU��
����rrUc��\rSrSr\rSrg)�PyQueueTesti�r1N�r,r-r.r/�py_queuerr0r1rrr`r`�����Err`c��\rSrSr\rSrg)�
CQueueTesti�r1N�r,r-r.r/�c_queuerr0r1rrrere�����Errec�(^�\rSrSrU4SjrSrU=r$)�
LifoQueueTesti�c�X>�URRUl[TU]5 gr)rrUr�rWrMrXs �rrM�LifoQueueTest.setUp�s������-�-���
��
�rrZr[r]s@rrjrj�r^rrjc��\rSrSr\rSrg)�PyLifoQueueTesti�r1Nrar1rrrnrn�rcrrnc��\rSrSr\rSrg)�CLifoQueueTesti�r1Nrfr1rrrprp�rhrrpc�(^�\rSrSrU4SjrSrU=r$)�PriorityQueueTesti�c�X>�URRUl[TU]5 gr)rrVr�rWrMrXs �rrM�PriorityQueueTest.setUp�s������1�1���
��
�rrZr[r]s@rrrrr�r^rrrc��\rSrSr\rSrg)�PyPriorityQueueTesti�r1Nrar1rrrvrv�rcrrvc��\rSrSr\rSrg)�CPriorityQueueTesti�r1Nrfr1rrrxrx�rhrrxc��\rSrSrSrg)�FailingQueueExceptioni�r1N�r,r-r.r/r0r1rrrzrz�s��rrzc�4^�\rSrSrU4SjrSrSrSrU=r$)�FailingQueueTesti�c�x>^�URRm"U4SjST5nXl[TU]5 g)Nc�:>�\rSrSrU4SjrU4SjrU4SjrSrg)�,FailingQueueTest.setUp.<locals>.FailingQueuei�c�H>�SUlSUlTR"U/UQ76 gr�)�
fail_next_put�
fail_next_getr!)r"rrTs  �rr!�5FailingQueueTest.setUp.<locals>.FailingQueue.__init__�s$���%*��"�%*��"����t�+�d�+rc�l>�UR(aSUl[S5eTRX5$�NFzYou Lose)r�rzr)r"�itemrTs  �rr�1FailingQueueTest.setUp.<locals>.FailingQueue._put�s.����%�%�).�D�&�/�
�;�;��z�z�$�-�-rc�l>�UR(aSUl[S5eTRU5$r�)r�rzr�)r"rTs �rr��1FailingQueueTest.setUp.<locals>.FailingQueue._get�s.����%�%�).�D�&�/�
�;�;��z�z�$�'�'r)r�r�N)r,r-r.r/r!rr�r0)rTs�r�FailingQueuer��s���
,�
.�

(�
(rr�)rrTr�rWrM)r"r�rTrms  @�rrM�FailingQueueTest.setUp�s/����
�
� � ��	(�5�	(� )��
��
�rc��UR5(a[S5e[[S-
5HnUR	U5 M SUlUR	SSS9 UR
S5 SUlUR	SSS	9 UR
S5 UR	S
5 UR[U5S5 SUlURURSURS
5 UR
S5 UR	S
5 SUlURURSURS
[5 UR
S5 UR	S
5 UR[U5S5 UR5 UR[U5(+S5 UR	S
5 UR[U5S5 URURSURS
5 [[5HnUR5 M URUR5(+S5 UR	S5 SUl
UR5 UR
S5 URUR5S5 SUl
URSS	9 UR
S5 URUR5S5 UR5 URUR5(+S5 SUl
URURS
URS[5 UR
S5 URUR5S5 UR5 URUR5(+S5 g![a GNhf=f![a GNPf=f![a GN�f=f![a GN�f=f![a GN�f=f![a GNSf=f![a N�f=f)NrPrWT�oopsrr]z)The queue didn't fail when it should haver%r_rur\)rhr1)rhTrarYrb�firstrXrc)rrernrorir�r9rzrfrr@rkrDr�r�s   r�failing_queue_test�#FailingQueueTest.failing_queue_test�sn���7�7�9�9��G�H�H��z�!�|�$�A�
�E�E�!�H�%����	�
�E�E�&��E�"��I�I�A�B����	�
�E�E�&�#�E�&��I�I�A�B�	
���f�
�����a��"8�9����	��!�!�!�%�%��A�E�E�2�>��I�I�A�B�
	
���f�
����	��-�-�a�e�e�5G����PR�.C�
E��I�I�A�B�
	
���f�
�����a��"8�9�	�������E�!�H��&@�A�	���f�
�����a��"8�9����a�e�e�Y����r�:��z�"�A�
�E�E�G�#����A�G�G�I�
�'>�?�	���g�����	�
�E�E�G��I�I�A�B�	
������	�#>�?����	�
�E�E�#�E���I�I�A�B�	
������	�#>�?�	�������A�G�G�I�
�'>�?����	��-�-�a�e�e�R����
�.C�
E��I�I�A�B�	
������	�#>�?�	�������A�G�G�I�
�'>�?��K%�	��	��%�	��	��%�	��	��%�	��	��*%�	��	��%�	��	��%�	��	�s~�!O�<!O �9O1�#>P�5!P�> P$�;>P5�
O�O� 
O.�-O.�1
O?�>O?�
P�P�
P!� P!�$
P2�1P2�5
Q�Qc�r�UR[5nURU5 URU5 gr)r�ror�r�s  r�test_failing_queue�#FailingQueueTest.test_failing_queue/s0��
���j�)������"�����"r)r�)	r,r-r.r/rMr�r�r0r\r]s@rr}r}�s����0O@�b#�#rr}c��\rSrSr\rSrg)�PyFailingQueueTesti9r1Nrar1rrr�r�9rcrr�c��\rSrSr\rSrg)�CFailingQueueTesti=r1Nrfr1rrr�r�=rhrr�c��\rSrSrSrSrSrSrSrSr	Sr
S	rS
r\
"SSS
S9S5r\
"SSS
S9S5r\
"SSS
S9S5rSrSrg)�BaseSimpleQueueTestiBc�.�UR5Ulgr)r�rr)s rrM�BaseSimpleQueueTest.setUpDs�����!��rc��UR5nURU5 UR5S:�a'[R
"UR5S-5 M_![a URU5 gf=f)Ng�?���MbP?)�pop�
IndexErrorri�randomr&r')r"r�seq�rnd�sentinel�vals      r�feed�BaseSimpleQueueTest.feedGsk���
��g�g�i��
�E�E�#�J��z�z�|�c�!��
�
�3�:�:�<�$�.�/����
����h���
�s�A!�!A?�>A?c�V�UR5nXC:XagURU5 M)r)rkr��r"rr�r�r�s     r�consume�BaseSimpleQueueTest.consumeRs)����%�%�'�C�����N�N�3��	rc���URSS9nXC:XagURU5 M+!URRa [R"S5 Of=fMb)NFr]��h㈵��>)rkrrqr&r'r�r�s     r�consume_nonblock�$BaseSimpleQueueTest.consume_nonblockYsg������%�%�e�%�,�C������N�N�3�����z�z�'�'�%��J�J�t�$�%��s�-�0A �A c��URSS9nXC:XagURU5 M+!URRa Of=fML)Nr�r_)rkrrqr�r�s     r�consume_timeout�#BaseSimpleQueueTest.consume_timeoutfs^������%�%��%�-�C������N�N�3�����z�z�'�'�����s�-�A
�	A
c
�~^�/nSnUR5nUR5 [R"S5n	/mU4Sjn
[	U5Vs/sH n[
R"U
"U5X(X�4S9PM" nn[	U5Vs/sH n[
R"U
"U5X&U4S9PM" n
n[R"X�-5 SSS5 URT5 URUR55 URUR5S5 U$s snfs snf!,(df   Nj=f)N�*c�>^�UU4SjnU$)Nc�h>�T"U0UD6 g![anTRU5 SnAgSnAff=fr)�
BaseExceptionr�)r�kwargsrM�
exceptions�fs   ��r�wrapper�HBaseSimpleQueueTest.run_threads.<locals>.log_exceptions.<locals>.wrapper|s6���)��t�&�v�&��$�)��%�%�a�(�(��)�s��
1�,�1r1)r�r�r�s` �r�log_exceptions�7BaseSimpleQueueTest.run_threads.<locals>.log_exceptions{s���
)�
�Nrr~r)�copy�reverser��Randomrnrr r�
start_threadsrgrfrdrlr)r"�	n_threadsr�inputs�	feed_func�consume_funcr�r�r�r�r�rt�feeders�	consumersr�s              @r�run_threads�BaseSimpleQueueTest.run_threadsss*��������k�k�m�����
��m�m�B����
�	�"�)�,�.�,�q��#�#�>�)�+D�*+�#�)@�B�,�	�.�
$�I�.�0�.���%�%�^�L�-I�,-��+A�C�.�	�0��
+�
+�G�,?�
@��A�	
����$�������	�"��������A�&����.��0�A�
@�s�'D$�'D)�D.�.
D<c���URnURUR55 URUR	5S5 URS5 UR
UR55 URUR	5S5 URS5 URS5 URS5 UR
UR55 URUR	5S5 URUR5S5 URUR	5S5 URUR5S5 URUR	5S5 URURSS9S5 UR
UR55 URUR	5S5 URURSS	9S5 URUR55 URUR	5S5 URURR5 URSS9 SSS5 URURR5 URS
S	9 SSS5 URURR5 UR5 SSS5 URUR55 URUR	5S5 g!,(df   N�=f!,(df   N�=f!,(df   Np=f)NrrWrZr�r�Fr]r%r_r�)
rrfrdrlrrirgr�rkr�r�rrqr�s  rr��BaseSimpleQueueTest.test_basic�sN���F�F��������	�"��������A�&�	���a���������#��������A�&�	���a��	���Q��	���a���������#��������A�&��������!�$��������A�&���������+��������A�&�������U��+�Q�/��������#��������A�&�������s��+�Q�/�������	�"��������A�&�
�
�
�t�z�z�/�/�
0�
�E�E��E��1�
�
�
�t�z�z�/�/�
0�
�E�E�$�E��1�
�
�
�t�z�z�/�/�
0�
�L�L�N�1�������	�"��������A�&�1�
0��
0�
0��
0�
0�s$�/M�,M�)M$�
M�
M!�$
M2c��URnURS5 UR[5 UR	SS9 SSS5 g!,(df   g=fr�)rrir�r�rkr�s  rr��:BaseSimpleQueueTest.test_negative_timeout_raises_exception�s>���F�F��	���a��
�
�
�z�
*�
�E�E�"�E��+�
*�
*�s�A�
Ac��URn[[S55nURSXURUR
5nUR
X25 g)Nr�rW)r�listrnr�r�r�rl)r"rr�r�s    r�
test_order�BaseSimpleQueueTest.test_order�sG���F�F���e�C�j�!���"�"�1�a����D�L�L�I��	
����)r�2i@F)�size�memuse�dry_runc���URn[[S55nURXX0RUR
5nUR
[U5U5 g�N�')rr�rnr�r�r�rlr�r"r�rr�r�s     r�test_many_threads�%BaseSimpleQueueTest.test_many_threads�sM��
�F�F���e�E�l�#���"�"�4�F�I�I�t�|�|�L��	
������&�1rc���URn[[S55nURXUURUR
5nUR
[U5U5 gr�)rr�rnr�r�r�rlrr�s     r�test_many_threads_nonblock�.BaseSimpleQueueTest.test_many_threads_nonblock�sU��
�F�F���e�E�l�#���"�"�4�F�#'�9�9�d�.C�.C�E��	
������&�1rc���URn[[S55nURXUURUR
5nUR
[U5U5 g)Ni�)rr�rnr�r�r�rlrr�s     r�test_many_threads_timeout�-BaseSimpleQueueTest.test_many_threads_timeout�sU��
�F�F���e�D�k�"���"�"�4�F�#'�9�9�d�.B�.B�D��	
������&�1rc�0�"SS5nSnURn[U5HnURU"55 M [U5HGn[R"UR55n[
5 URU"55 MI g)Nc��\rSrSrSrg)�.BaseSimpleQueueTest.test_references.<locals>.Ci�r1Nr{r1rr�Cr��s��rr��)rrnri�weakref�refrkr�assertIsNone)r"r��Nrrt�wrs      r�test_references�#BaseSimpleQueueTest.test_references�sn��	�	�
���F�F���q��A�
�E�E�!�#�J���q��A����Q�U�U�W�%�B��L����b�d�#�rrN)r,r-r.r/rMr�r�r�r�r�r�r�r�rr�r�r�r�r0r1rrr�r�Bs���"�	0� � � ��@#'�J�*��R�	�5�9�2�:�2��R�	�5�9�2�:�2��R�	�5�9�2�:�2�
$rr�c�,^�\rSrSr\rU4SjrSrU=r$)�PySimpleQueueTesti�c�X>�URRUl[TU]5 gr)r�_PySimpleQueuer�rWrMrXs �rrM�PySimpleQueueTest.setUp�s������2�2���
��
�rrZ)	r,r-r.r/rbrrMr0r\r]s@rr�r��s����E��rr�c�8^�\rSrSr\rU4SjrSrSrSr	U=r
$)�CSimpleQueueTesti�c�X>�URRUl[TU]5 gr)r�SimpleQueuer�rWrMrXs �rrM�CSimpleQueueTest.setUps������/�/���
��
�rc���URURURR5 URURURR5 gr)�assertIsr�rr�r)s r�test_is_default� CSimpleQueueTest.test_is_defaults:���
�
�d�n�n�d�j�j�&<�&<�=��
�
�d�n�n�d�j�j�&<�&<�=rc	�b^^�URm[R"5mSn/n"UU4SjS[5nU"5nTR	[T55 AUR
TR55 USU:�aOMMURU[[US-555 g)Nr�c�*>�\rSrSrSrUU4SjrSrg)�2CSimpleQueueTest.test_reentrancy.<locals>.Circularic��Xlgr��circularr)s rr!�;CSimpleQueueTest.test_reentrancy.<locals>.Circular.__init__s�� $�
rc�:>�TR[T55 gr)ri�next)r"�genrs ��r�__del__�:CSimpleQueueTest.test_reentrancy.<locals>.Circular.__del__s������d�3�i� rrN)r,r-r.r/r!rr0)rrs��r�Circularr�s���
%�
!�
!rr	r�rW)r�	itertoolsr��objectrirr�rkrlr�rn)r"r�r�r	�orrs     @@r�test_reentrancy� CSimpleQueueTest.test_reentrancys����
�F�F���o�o�������
	!�	!�v�	!���
�A�
�E�E�$�s�)����N�N�1�5�5�7�#��r�{�a���
�	
����$�u�Q��U�|�"4�5rrZ)r,r-r.r/rgrrMr�r
r0r\r]s@rr�r��s���
�E��>�6�6rr��__main__),r
r��sysrr&�unittestr��test.supportrrrr�requires_working_threading�import_fresh_modulerbrg�
skipUnless�need_c_queuerorr rr3rGrU�TestCaser`rerjrnrprrrvrxrLrzr}r�r�r�r�r�r,�mainr1rr�<module>rs*���
�
�����/�&�)��+�+�4�8��,�,�W�x�j�I��
�
+�
+�G�H�:�
F���"�"�7�,D�E��
�
�4��Y�%�%��@F�F�Dq?�*�q?�h�"���)�X�.�.�����H�-�-�����&���m�X�%6�%6����]�H�$5�$5�����*���+�X�->�->����*�H�,=�,=����
-�I�,�q#�(�q#�j�)�8�+<�+<����(�(�*;�*;����q$�q$�h�+�X�->�->���&6�*�H�,=�,=�&6��&6�R�z���M�M�O�r

Youez - 2016 - github.com/yon3zu
LinuXploit